import type { ContactsTypeEnum, SourceTypeEnum, ViewTypeEnum } from "@/enums/contactsEnum";
import type { ApplyTypeEnum } from "@/enums/membershipEnum";


export interface ContactsConfigResult {
  /** 是否展示人脉 */
  connectionListShow: 0 | 1
  /** 人脉是否能访问详情 */
  connectionDetailShow: 0 | 1
  /** 是否展示单位 */
  unitListShow: 0 | 1
  /** 单位是否能访问详情 */
  unitDetailShow: 0 | 1
}

export interface MemberContactsData {
  contactsType: ContactsTypeEnum;
  assType: SourceTypeEnum;
  current?: number
  size?: number
  keyword?: string;
  mapType?: ViewTypeEnum
  /** 用户当前坐标 */
  currentLatitude?: number;
  currentLongitude?: number;
  /** 范围 */
  distance?: number;
  /** 分类筛选 */
  typeId?: number[];
  industryId?: number[];
  levelId?: number[];
  /** 查询的中心点 */
  latitude?: number;
  longitude?: number;
  /** 省市区 */
  provinceId?: number
  cityId?: number
  areaNewId?: number
  areaId?: number[]
  /** 地图比例 */
  scale?: number
  /** 是否是第一次加载 */
  isFirst?: boolean;
  /** 最大条数 */
  maxDisplay?: number
  /** 标点数据缓存的数据ID */
  memberMapKey?: string
}

export interface MemberContactsVoList {
  applyType: ApplyTypeEnum;
  companyAddressStr: string;
  companyFoundTime?: string;
  companyLogo: string;
  companyMainBusiness: string;
  companyMainBusinesList: string[];
  companyName: string;
  currentDistance: string;
  distance: string;
  leadingAvatar: string;
  leadingId?: number;
  leadingName: string;
  leadingSocialPosition: string;
  levelId: string;
  memberId: number;
  levelName: string;
  memberLeadingId: number;
  memberState: number;
  orgCompanyId: number;
  orgTenantName: string;
  tenantId: string;
  typeId: string;
  typeName: string;
}

export interface MemberDistrictsListVoList {
  id: number,
  latitude: string
  longitude: string
  extName: string
  deep: number
  num: number
  scale: number
}

export interface MemberMapContactsVoList {
  memberLeadingId: number
  latitude: string
  longitude: string
  currentDistance: string
  distance: string
}

export interface MemberContactsResult {
  areaInfoVo: {
    areaName: string
    areaNewId: number
    cityId: number
    cityName: string
    currentDistance: string
    latitude: string
    longitude: string
    provinceId: number
    provinceName: string
  }
  /** 标点的详细数据 */
  memberContactsVoList?: MemberContactsVoList[]
  /** 统计数据 */
  memberDistrictsListVoList?: MemberDistrictsListVoList[]
  /** 标点的坐标数据 */
  memberMapContactsVoList?: MemberMapContactsVoList[]
  /** 当前接口返回内容的缓存数据ID */
  memberMapKey: string
}
